package com.xh.web.service.impl;


import com.xh.web.domain.DTemplate;
import com.xh.web.mapper.DColumnMapper;
import com.xh.web.mapper.DTemplateMapper;
import com.xh.web.service.IDTemplateService;
import com.xh.web.util.DateUtils;
import com.xh.web.util.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;


/**
 * 业务名Service业务层处理
 * 
 * @author 宁兴海
 * @date 2021-12-10
 */
@Service
public class DTemplateServiceImpl implements IDTemplateService
{
    @Autowired(required = false)
    private DTemplateMapper dTemplateMapper;

    @Autowired(required = false)
    private DColumnMapper dColumnMapper;

    /**
     * 查询业务名
     * 
     * @param id 业务名ID
     * @return 业务名
     */
    @Override
    public DTemplate selectDTemplateById(String id)
    {
        return dTemplateMapper.selectDTemplateById(id);
    }

    /**
     * 查询业务名列表
     * 
     * @param dTemplate 业务名
     * @return 业务名
     */
    @Override
    public List<DTemplate> selectDTemplateList(DTemplate dTemplate)
    {
        return dTemplateMapper.selectDTemplateList(dTemplate);
    }

    /**
     * 新增业务名
     * 
     * @param dTemplate 业务名
     * @return 结果
     */
    @Override
    public int insertDTemplate(DTemplate dTemplate)
    {

        if(StringUtils.isNotNull(dTemplate.getId())){
            dTemplate.setUpdateTime(DateUtils.getNowDate());
            dTemplate.setUpdateBy("admin");
            return dTemplateMapper.updateDTemplate(dTemplate);
        }else{
            dTemplate.setCreateTime(DateUtils.getNowDate());
            dTemplate.setCreateBy("admin");
            dTemplate.setDelFlag("0");
            return dTemplateMapper.insertDTemplate(dTemplate);
        }
    }

    /**
     * 修改业务名
     * 
     * @param dTemplate 业务名
     * @return 结果
     */
    @Override
    public int updateDTemplate(DTemplate dTemplate)
    {
        dTemplate.setUpdateTime(DateUtils.getNowDate());
        return dTemplateMapper.updateDTemplate(dTemplate);
    }

    /**
     * 批量删除业务名
     * 
     * @param ids 需要删除的业务名ID
     * @return 结果
     */
    @Override
    @Transactional
    public int deleteDTemplateByIds(String[] ids)
    {
        dColumnMapper.deleteDColumnByTemplateId(ids);
        return dTemplateMapper.deleteDTemplateByIds(ids);
    }

    /**
     * 删除业务名信息
     * 
     * @param id 业务名ID
     * @return 结果
     */
    @Override
    public int deleteDTemplateById(String id)
    {
        return dTemplateMapper.deleteDTemplateById(id);
    }
}
